home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
a_utils
/
_archvrs
/
mac
/
unzip101.sit
/
Source
/
UnZip.π.rsrc
/
CODE_1.txt
< prev
next >
Wrap
Text File
|
1989-09-11
|
41KB
|
766 lines
# near model CODE resource
# entry label at 0x0000
entry:
00000000 0000 0000 ori.b D0, 0x0
00000004 0000 0000 ori.b D0, 0x0
00000008 0000 0000 ori.b D0, 0x0
0000000C 0000 0000 ori.b D0, 0x0
00000010 0000 0000 ori.b D0, 0x0
00000014 0000 0000 ori.b D0, 0x0
00000018 0000 00D8 ori.b D0, 0xD8
export_0:
0000001C 4278 0A4A clr.w [0x00000A4A /* FPState */]
00000020 9DCE sub.l A6, A6
00000022 4EBA 0054 jsr [PC + 0x54 /* 00000078 */]
00000026 4EBA 0066 jsr [PC + 0x66 /* 0000008E */]
0000002A 2C3C 494E 4458 move.l D6, 0x494E4458 /* 'INDX' */
00000030 4EBA 056E jsr [PC + 0x56E /* 000005A0 */]
00000034 47FA FFCA lea.l A3, [PC - 0x36 /* 00000000 */]
00000038 268C move.l [A3], A4
0000003A 47FA FFC8 lea.l A3, [PC - 0x38 /* 00000004 */]
0000003E 2684 move.l [A3], D4
00000040 4EBA 0066 jsr [PC + 0x66 /* 000000A8 */]
00000044 4EBA 02A8 jsr [PC + 0x2A8 /* 000002EE */]
00000048 4EBA 0626 jsr [PC + 0x626 /* 00000670 */]
0000004C 4EBA 00DC jsr [PC + 0xDC /* 0000012A */]
00000050 4EBA 00A8 jsr [PC + 0xA8 /* 000000FA */]
00000054 4267 clr.w -[A7]
00000056 4878 FFFF pea.l [0xFFFFFFFF]
0000005A 486F 0004 pea.l [A7 + 0x4]
0000005E 4857 pea.l [A7]
00000060 3F3C 0001 move.w -[A7], 0x1
00000064 223A FFB2 move.l D1, [PC - 0x4E /* 00000018 */]
00000068 4EBA 0382 jsr [PC + 0x382 /* 000003EC */]
0000006C 4EB5 1000 jsr [A5 + D1.w]
00000070 206D 006C movea.l A0, [A5 + 0x6C]
00000074 4E90 jsr [A0]
00000076 A9F4 trap ExitToShell
fn00000078:
00000078 51F8 0A5E sf [0x00000A5E /* ResLoad */]
0000007C 7E00 moveq.l D7, 0x00
0000007E 4EBA 02FA jsr [PC + 0x2FA /* 0000037A */]
00000082 6708 beq +0xA /* 0000008C */
00000084 4A90 tst.l [A0]
00000086 6704 beq +0x6 /* 0000008C */
00000088 08D0 0006 bset.b [A0], 0x6
label0000008C:
0000008C 4E75 rts
fn0000008E:
0000008E 2038 0A78 move.l D0, [0x00000A78 /* ApplScratch */]
00000092 660C bne +0xE /* 000000A0 */
00000094 2C3C 5A4F 4E45 move.l D6, 0x5A4F4E45 /* 'ZONE' */
0000009A 4EBA 0504 jsr [PC + 0x504 /* 000005A0 */]
0000009E 200C move.l D0, A4
label000000A0:
000000A0 47FA FF66 lea.l A3, [PC - 0x9A /* 00000008 */]
000000A4 2680 move.l [A3], D0
000000A6 4E75 rts
fn000000A8:
000000A8 598F subq.l A7, 4
000000AA 2F3C 4441 5441 move.l -[A7], 0x44415441 /* 'DATA' */
000000B0 4267 clr.w -[A7]
000000B2 A9A0 trap GetResource
000000B4 2057 movea.l A0, [A7]
000000B6 2050 movea.l A0, [A0]
000000B8 2278 0908 movea.l A1, [0x00000908 /* CurStackBase */]
000000BC 200D move.l D0, A5
000000BE 9089 sub.l D0, A1
000000C0 47FA FF4E lea.l A3, [PC - 0xB2 /* 00000010 */]
000000C4 2680 move.l [A3], D0
000000C6 A02E trap BlockMove/BlockMoveData
000000C8 A9A3 trap ReleaseResource
000000CA 2C3C 5354 5253 move.l D6, 0x53545253 /* 'STRS' */
000000D0 4EBA 04CE jsr [PC + 0x4CE /* 000005A0 */]
000000D4 47FA FF36 lea.l A3, [PC - 0xCA /* 0000000C */]
000000D8 268C move.l [A3], A4
000000DA 2C3C 4452 454C move.l D6, 0x4452454C /* 'DREL' */
000000E0 4EBA 04BE jsr [PC + 0x4BE /* 000005A0 */]
000000E4 204C movea.l A0, A4
000000E6 2004 move.l D0, D4
000000E8 670C beq +0xE /* 000000F6 */
label000000EA:
000000EA 4EBA 01B6 jsr [PC + 0x1B6 /* 000002A2 */]
000000EE 0480 0000 000C subi.l D0, 0xC
000000F4 66F4 bne -0xA /* 000000EA */
label000000F6:
000000F6 4EFA 056A jmp [PC + 0x56A /* 00000662 */]
fn000000FA:
000000FA 4E56 FFDA link A6, -0x0026
000000FE 41F8 0910 lea.l A0, [0x00000910 /* CurApName */]
00000102 224F movea.l A1, A7
00000104 7020 moveq.l D0, 0x20
00000106 A02E trap BlockMove/BlockMoveData
00000108 7001 moveq.l D0, 0x01
0000010A D011 add.b D0, [A1]
0000010C 5A11 addq.b [A1], 5
0000010E D2C0 add.w A1, D0
00000110 41FA 0012 lea.l A0, [PC + 0x12 /* 00000124 */]
00000114 7005 moveq.l D0, 0x05
00000116 A02E trap BlockMove/BlockMoveData
00000118 558F subq.l A7, 2
0000011A 486F 0002 pea.l [A7 + 0x2]
0000011E A997 trap OpenResFile
00000120 4E5E unlink A6
00000122 4E75 rts
00000124 2E72 7372 6300 47FA 05EE movea.l A7, [[A2 + 0x630047FA] + 0x5EE]
// begin alternate branch 0000012A-0000012E
fn0000012A:
0000012A 47FA 05EE lea.l A3, [PC + 0x5EE /* 0000071A */]
// end alternate branch 0000012A-0000012E
fn0000012A: // (misaligned)
0000012E 26B8 0A7C move.l [A3], [0x00000A7C]
00000132 2F38 0A80 move.l -[A7], [0x00000A80]
00000136 6602 bne +0x4 /* 0000013A */
00000138 588F addq.l A7, 4
label0000013A:
0000013A 4E75 rts
0000013C 48E7 FFF8 movem.l -[A7], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4
00000140 3E2F 003C move.w D7, [A7 + 0x3C]
00000144 51F8 0A5E sf [0x00000A5E /* ResLoad */]
00000148 600A bra +0xC /* 00000154 */
label0000014A:
0000014A 598F subq.l A7, 4
0000014C 2F08 move.l -[A7], A0
0000014E A9A5 trap SizeRsrc
00000150 201F move.l D0, [A7]+
00000152 A040 trap ResrvMem/ReserveMem
label00000154:
00000154 4EBA 0224 jsr [PC + 0x224 /* 0000037A */]
00000158 6744 beq +0x46 /* 0000019E */
0000015A 47FA FEB8 lea.l A3, [PC - 0x148 /* 00000014 */]
0000015E 2688 move.l [A3], A0
00000160 2010 move.l D0, [A0]
00000162 67E6 beq -0x18 /* 0000014A */
00000164 2240 movea.l A1, D0
00000166 4A91 tst.l [A1]
00000168 662E bne +0x30 /* 00000198 */
0000016A 0010 00C0 ori.b [A0], 0xC0
0000016E 2C3C 4352 454C move.l D6, 0x4352454C /* 'CREL' */
00000174 4EBA 042C jsr [PC + 0x42C /* 000005A2 */]
00000178 6724 beq +0x26 /* 0000019E */
0000017A 3E2F 003C move.w D7, [A7 + 0x3C]
0000017E 204C movea.l A0, A4
00000180 2004 move.l D0, D4
00000182 670C beq +0xE /* 00000190 */
label00000184:
00000184 4EBA 0078 jsr [PC + 0x78 /* 000001FE */]
00000188 0480 0000 000C subi.l D0, 0xC
0000018E 66F4 bne -0xA /* 00000184 */
label00000190:
00000190 4EBA 04D0 jsr [PC + 0x4D0 /* 00000662 */]
00000194 4EBA 019C jsr [PC + 0x19C /* 00000332 */]
label00000198:
00000198 4CDF 1FFF movem.l A4,A3,A2,A1,A0,D7,D6,D5,D4,D3,D2,D1,D0, [A7]+
0000019C 4E75 rts
label0000019E:
0000019E 700F moveq.l D0, 0x0F
000001A0 A9C9 trap SysError
000001A2 4EBA 057C jsr [PC + 0x57C /* 00000720 */]
000001A6 4EBA 0008 jsr [PC + 0x8 /* 000001B0 */]
000001AA 4EBA 04F4 jsr [PC + 0x4F4 /* 000006A0 */]
000001AE 4E75 rts
fn000001B0:
000001B0 2078 0AEC movea.l A0, [0x00000AEC /* AppParmHandle */]
000001B4 A025 trap GetHandleSize
000001B6 2050 movea.l A0, [A0]
000001B8 2248 movea.l A1, A0
000001BA 2218 move.l D1, [A0]+
000001BC 600A bra +0xC /* 000001C8 */
label000001BE:
000001BE 41E8 0008 lea.l A0, [A0 + 0x8]
000001C2 7401 moveq.l D2, 0x01
000001C4 8418 or.b D2, [A0]+
000001C6 D0C2 add.w A0, D2
label000001C8:
000001C8 51C9 FFF4 dbf D1, -0xE /* 000001BE */
000001CC 9088 sub.l D0, A0
000001CE D089 add.l D0, A1
000001D0 6602 bne +0x4 /* 000001D4 */
000001D2 4E75 rts
label000001D4:
000001D4 2200 move.l D1, D0
000001D6 A02E trap BlockMove/BlockMoveData
000001D8 2078 0AEC movea.l A0, [0x00000AEC /* AppParmHandle */]
000001DC 2001 move.l D0, D1
000001DE A024 trap SetHandleSize
000001E0 2250 movea.l A1, [A0]
000001E2 4FEF FFC0 lea.l A7, [A7 - 0x40]
000001E6 204F movea.l A0, A7
000001E8 42A8 0012 clr.l [A0 + 0x12]
000001EC 3169 0004 0016 move.w [A0 + 0x16], [A1 + 0x4]
000001F2 A015 trap SetVol/PBHSetVol/HSetVol
000001F4 42A7 clr.l -[A7]
000001F6 4869 000C pea.l [A1 + 0xC]
000001FA 204F movea.l A0, A7
000001FC A9F2 trap Launch/LaunchApplication
fn000001FE:
000001FE 3218 move.w D1, [A0]+
00000200 4EBA 019E jsr [PC + 0x19E /* 000003A0 */]
00000204 2458 movea.l A2, [A0]+
00000206 D5C1 add.l A2, D1
00000208 3418 move.w D2, [A0]+
0000020A 2218 move.l D1, [A0]+
0000020C 6E32 bgt +0x34 /* 00000240 */
0000020E 6716 beq +0x18 /* 00000226 */
00000210 5241 addq.w D1, 1
00000212 6706 beq +0x8 /* 0000021A */
00000214 5241 addq.w D1, 1
00000216 671A beq +0x1C /* 00000232 */
00000218 4E75 rts
label0000021A:
0000021A 3228 FFF4 move.w D1, [A0 - 0xC]
0000021E 4EBA 01B8 jsr [PC + 0x1B8 /* 000003D8 */]
00000222 D352 add.w [A2], D1
00000224 4E75 rts
label00000226:
00000226 3228 FFF4 move.w D1, [A0 - 0xC]
0000022A 4EBA 0188 jsr [PC + 0x188 /* 000003B4 */]
0000022E D352 add.w [A2], D1
00000230 4E75 rts
label00000232:
00000232 3228 FFF4 move.w D1, [A0 - 0xC]
00000236 4EBA 018E jsr [PC + 0x18E /* 000003C6 */]
0000023A D3AA FFFE add.l [A2 - 0x2], D1
0000023E 4E75 rts
label00000240:
00000240 4EBA 014E jsr [PC + 0x14E /* 00000390 */]
00000244 3229 000C move.w D1, [A1 + 0xC]
00000248 4A69 000A tst.w [A1 + 0xA]
0000024C 661C bne +0x1E /* 0000026A */
0000024E 5442 addq.w D2, 2
00000250 6A0C bpl +0xE /* 0000025E */
label00000252:
00000252 7063 moveq.l D0, 0x63
00000254 A9C9 trap SysError
label00000256:
00000256 5242 addq.w D2, 1
00000258 66F8 bne -0x6 /* 00000252 */
0000025A D352 add.w [A2], D1
0000025C 4E75 rts
label0000025E:
0000025E 4EBA 0154 jsr [PC + 0x154 /* 000003B4 */]
00000262 D2A9 000E add.l D1, [A1 + 0xE]
00000266 D352 add.w [A2], D1
00000268 4E75 rts
label0000026A:
0000026A 4EBA 016C jsr [PC + 0x16C /* 000003D8 */]
0000026E D2A9 000E add.l D1, [A1 + 0xE]
00000272 5242 addq.w D2, 1
00000274 6604 bne +0x6 /* 0000027A */
00000276 D352 add.w [A2], D1
00000278 4E75 rts
label0000027A:
0000027A 43F5 1002 lea.l A1, [A5 + D1.w + 0x2]
0000027E BE51 cmp.w D7, [A1]
00000280 66D4 bne -0x2A /* 00000256 */
00000282 0C61 3F3C cmpi.w -[A1], 0x3F3C /* '?<' */
00000286 66CE bne -0x30 /* 00000256 */
00000288 5242 addq.w D2, 1
0000028A 6606 bne +0x8 /* 00000292 */
0000028C 0A6A 0017 FFFE xori.w [A2 - 0x2], 0x17
label00000292:
00000292 3221 move.w D1, -[A1]
00000294 5841 addq.w D1, 4
00000296 227A FD7C movea.l A1, [PC - 0x284 /* 00000014 */]
0000029A D291 add.l D1, [A1]
0000029C 924A sub.w D1, A2
0000029E D352 add.w [A2], D1
000002A0 4E75 rts
fn000002A2:
000002A2 3218 move.w D1, [A0]+
000002A4 4EBA 010E jsr [PC + 0x10E /* 000003B4 */]
000002A8 45F5 1000 lea.l A2, [A5 + D1.w]
000002AC D5D8 add.l A2, [A0]+
000002AE 3418 move.w D2, [A0]+
000002B0 6732 beq +0x34 /* 000002E4 */
000002B2 2218 move.l D1, [A0]+
000002B4 6E24 bgt +0x26 /* 000002DA */
000002B6 670E beq +0x10 /* 000002C6 */
000002B8 5241 addq.w D1, 1
000002BA 6614 bne +0x16 /* 000002D0 */
000002BC 3228 FFF4 move.w D1, [A0 - 0xC]
000002C0 4EBA 0116 jsr [PC + 0x116 /* 000003D8 */]
000002C4 6018 bra +0x1A /* 000002DE */
label000002C6:
000002C6 3228 FFF4 move.w D1, [A0 - 0xC]
000002CA 4EBA 00E8 jsr [PC + 0xE8 /* 000003B4 */]
000002CE 600E bra +0x10 /* 000002DE */
label000002D0:
000002D0 3228 FFF4 move.w D1, [A0 - 0xC]
000002D4 4EBA 00F0 jsr [PC + 0xF0 /* 000003C6 */]
000002D8 6006 bra +0x8 /* 000002E0 */
label000002DA:
000002DA 4EBA 0110 jsr [PC + 0x110 /* 000003EC */]
label000002DE:
000002DE D28D add.l D1, A5
label000002E0:
000002E0 D392 add.l [A2], D1
000002E2 4E75 rts
label000002E4:
000002E4 2218 move.l D1, [A0]+
000002E6 4EBA 0104 jsr [PC + 0x104 /* 000003EC */]
000002EA D352 add.w [A2], D1
000002EC 4E75 rts
fn000002EE:
000002EE 207A FD10 movea.l A0, [PC - 0x2F0 /* 00000000 */]
000002F2 203A FD10 move.l D0, [PC - 0x2F0 /* 00000004 */]
label000002F6:
000002F6 4AA8 0000 tst.l [A0 + 0x0]
000002FA 6728 beq +0x2A /* 00000324 */
000002FC 3228 0028 move.w D1, [A0 + 0x28]
00000300 6722 beq +0x24 /* 00000324 */
00000302 2428 0018 move.l D2, [A0 + 0x18]
00000306 5942 subq.w D2, 4
00000308 43ED 0010 lea.l A1, [A5 + 0x10]
0000030C D3E8 0004 add.l A1, [A0 + 0x4]
label00000310:
00000310 D559 add.w [A1]+, D2
00000312 32FC 3F3C move.w [A1]+, 0x3F3C /* '?<' */
00000316 4219 clr.b [A1]+
00000318 12E8 003D move.b [A1]+, [A0 + 0x3D]
0000031C 32FC A9F0 move.w [A1]+, 0xA9F0
00000320 5141 subq.w D1, 8
00000322 66EC bne -0x12 /* 00000310 */
label00000324:
00000324 41E8 0040 lea.l A0, [A0 + 0x40]
00000328 0480 0000 0040 subi.l D0, 0x40 /* '@' */
0000032E 66C6 bne -0x38 /* 000002F6 */
00000330 4E75 rts
fn00000332:
00000332 207A FCCC movea.l A0, [PC - 0x334 /* 00000000 */]
00000336 203A FCCC move.l D0, [PC - 0x334 /* 00000004 */]
0000033A 72FF moveq.l D1, 0xFFFFFFFF
0000033C 7400 moveq.l D2, 0x00
label0000033E:
0000033E 4AA8 0000 tst.l [A0 + 0x0]
00000342 6718 beq +0x1A /* 0000035C */
00000344 BE28 003D cmp.b D7, [A0 + 0x3D]
00000348 6612 bne +0x14 /* 0000035C */
0000034A 3628 0028 move.w D3, [A0 + 0x28]
0000034E 670C beq +0xE /* 0000035C */
00000350 D443 add.w D2, D3
00000352 B2A8 0004 cmp.l D1, [A0 + 0x4]
00000356 6504 bcs +0x6 /* 0000035C */
00000358 2228 0004 move.l D1, [A0 + 0x4]
label0000035C:
0000035C 41E8 0040 lea.l A0, [A0 + 0x40]
00000360 0480 0000 0040 subi.l D0, 0x40 /* '@' */
00000366 66D6 bne -0x28 /* 0000033E */
00000368 207A FCAA movea.l A0, [PC - 0x356 /* 00000014 */]
0000036C 2050 movea.l A0, [A0]
0000036E 0441 0010 subi.w D1, 0x10
00000372 30C1 move.w [A0]+, D1
00000374 E64A lsr D2.w, 3
00000376 30C2 move.w [A0]+, D2
00000378 4E75 rts
fn0000037A:
0000037A 598F subq.l A7, 4
0000037C 2F3C 434F 4445 move.l -[A7], 0x434F4445 /* 'CODE' */
00000382 3F07 move.w -[A7], D7
00000384 A9A0 trap GetResource
00000386 205F movea.l A0, [A7]+
00000388 50F8 0A5E st [0x00000A5E /* ResLoad */]
0000038C 2008 move.l D0, A0
0000038E 4E75 rts
fn00000390:
00000390 287A FC76 movea.l A4, [PC - 0x38A /* 00000008 */]
00000394 2274 1800 movea.l A1, [A4 + D1]
00000398 93EC 0038 sub.l A1, [A4 + 0x38]
0000039C D3CC add.l A1, A4
0000039E 4E75 rts
fn000003A0:
000003A0 287A FC5E movea.l A4, [PC - 0x3A2 /* 00000000 */]
000003A4 C2FC mulu.w D1, 0xFFFFFFFFFFFFFFFF
000003A6 0040 2234 ori.w D0, 0x2234 /* '"4' */
000003AA 1818 move.b D4, [A0]+
000003AC 287A FC66 movea.l A4, [PC - 0x39A /* 00000014 */]
000003B0 D294 add.l D1, [A4]
000003B2 4E75 rts
fn000003B4:
000003B4 287A FC4A movea.l A4, [PC - 0x3B6 /* 00000000 */]
000003B8 C2FC mulu.w D1, 0xFFFFFFFFFFFFFFFF
000003BA 0040 2234 ori.w D0, 0x2234 /* '"4' */
000003BE 1808 move.b D4, A0
000003C0 92BA FC4E sub.l D1, [PC - 0x3B2 /* 00000010 */]
000003C4 4E75 rts
fn000003C6:
000003C6 287A FC38 movea.l A4, [PC - 0x3C8 /* 00000000 */]
000003CA C2FC mulu.w D1, 0xFFFFFFFFFFFFFFFF
000003CC 0040 2234 ori.w D0, 0x2234 /* '"4' */
000003D0 1810 move.b D4, [A0]
000003D2 D2BA FC38 add.l D1, [PC - 0x3C8 /* 0000000C */]
000003D6 4E75 rts
fn000003D8:
000003D8 287A FC26 movea.l A4, [PC - 0x3DA /* 00000000 */]
000003DC C2FC mulu.w D1, 0xFFFFFFFFFFFFFFFF
000003DE 0040 2234 ori.w D0, 0x2234 /* '"4' */
000003E2 1804 move.b D4, D4
000003E4 0681 0000 0010 addi.l D1, 0x10
000003EA 4E75 rts
fn000003EC:
000003EC 4EBA FFA2 jsr [PC - 0x5E /* 00000390 */]
000003F0 3229 000C move.w D1, [A1 + 0xC]
000003F4 4A69 000A tst.w [A1 + 0xA]
000003F8 6606 bne +0x8 /* 00000400 */
000003FA 4EBA FFB8 jsr [PC - 0x48 /* 000003B4 */]
000003FE 6004 bra +0x6 /* 00000404 */
label00000400:
00000400 4EBA FFD6 jsr [PC - 0x2A /* 000003D8 */]
label00000404:
00000404 D2A9 000E add.l D1, [A1 + 0xE]
00000408 4E75 rts
export_1:
0000040A 205F movea.l A0, [A7]+
0000040C 3218 move.w D1, [A0]+
label0000040E:
0000040E 3418 move.w D2, [A0]+
00000410 B058 cmp.w D0, [A0]+
00000412 57C9 FFFA dbeq D1, -0x8 /* 0000040E */
00000416 4A42 tst.w D2
label00000418:
00000418 67FE beq -0x0 /* 00000418 */
0000041A 4EF0 20FC jmp [A0 + D2.w - 0x4]
export_2:
0000041E 205F movea.l A0, [A7]+
00000420 3218 move.w D1, [A0]+
label00000422:
00000422 3418 move.w D2, [A0]+
00000424 B098 cmp.l D0, [A0]+
00000426 57C9 FFFA dbeq D1, -0x8 /* 00000422 */
0000042A 4A42 tst.w D2
label0000042C:
0000042C 67FE beq -0x0 /* 0000042C */
0000042E 4EF0 20FA jmp [A0 + D2.w - 0x6]
export_3:
00000432 205F movea.l A0, [A7]+
00000434 3218 move.w D1, [A0]+
00000436 3418 move.w D2, [A0]+
00000438 B042 cmp.w D0, D2
0000043A 6E0A bgt +0xC /* 00000446 */
0000043C 9041 sub.w D0, D1
0000043E 6D06 blt +0x8 /* 00000446 */
00000440 D040 add.w D0, D0
00000442 41F0 0002 lea.l A0, [A0 + D0.w + 0x2]
label00000446:
00000446 3010 move.w D0, [A0]
label00000448:
00000448 67FE beq -0x0 /* 00000448 */
0000044A 4EF0 0000 jmp [A0 + D0.w]
export_4:
0000044E 202F 0004 move.l D0, [A7 + 0x4]
00000452 2F41 0004 move.l [A7 + 0x4], D1
00000456 222F 0008 move.l D1, [A7 + 0x8]
0000045A 2F5F 0004 move.l [A7 + 0x4], [A7]+
0000045E 48E7 3C00 movem.l -[A7], D2,D3,D4,D5
00000462 2400 move.l D2, D0
00000464 2601 move.l D3, D1
00000466 4842 swap.w D2
00000468 C4C3 mulu.w D2, D3
0000046A 2800 move.l D4, D0
0000046C 2A01 move.l D5, D1
0000046E 4845 swap.w D5
00000470 C8C5 mulu.w D4, D5
00000472 D444 add.w D2, D4
00000474 4842 swap.w D2
00000476 4242 clr.w D2
00000478 C0C1 mulu.w D0, D1
0000047A D082 add.l D0, D2
0000047C 4CDF 003C movem.l D5,D4,D3,D2, [A7]+
00000480 221F move.l D1, [A7]+
00000482 4E75 rts
export_5:
00000484 202F 0004 move.l D0, [A7 + 0x4]
00000488 2F41 0004 move.l [A7 + 0x4], D1
0000048C 222F 0008 move.l D1, [A7 + 0x8]
00000490 2F5F 0004 move.l [A7 + 0x4], [A7]+
00000494 48E7 3100 movem.l -[A7], D2,D3,D7
00000498 4EBA 009C jsr [PC + 0x9C /* 00000536 */]
0000049C 4CDF 008C movem.l D7,D3,D2, [A7]+
000004A0 221F move.l D1, [A7]+
000004A2 4E75 rts
export_6:
000004A4 202F 0004 move.l D0, [A7 + 0x4]
000004A8 2F41 0004 move.l [A7 + 0x4], D1
000004AC 222F 0008 move.l D1, [A7 + 0x8]
000004B0 2F5F 0004 move.l [A7 + 0x4], [A7]+
000004B4 48E7 3100 movem.l -[A7], D2,D3,D7
000004B8 4EBA 007C jsr [PC + 0x7C /* 00000536 */]
000004BC 2001 move.l D0, D1
000004BE 4CDF 008C movem.l D7,D3,D2, [A7]+
000004C2 221F move.l D1, [A7]+
000004C4 4E75 rts
export_7:
000004C6 202F 0004 move.l D0, [A7 + 0x4]
000004CA 2F41 0004 move.l [A7 + 0x4], D1
000004CE 222F 0008 move.l D1, [A7 + 0x8]
000004D2 2F5F 0004 move.l [A7 + 0x4], [A7]+
000004D6 48E7 3100 movem.l -[A7], D2,D3,D7
000004DA 4EBA 002C jsr [PC + 0x2C /* 00000508 */]
000004DE 4CDF 008C movem.l D7,D3,D2, [A7]+
000004E2 221F move.l D1, [A7]+
000004E4 4E75 rts
export_8:
000004E6 202F 0004 move.l D0, [A7 + 0x4]
000004EA 2F41 0004 move.l [A7 + 0x4], D1
000004EE 222F 0008 move.l D1, [A7 + 0x8]
000004F2 2F5F 0004 move.l [A7 + 0x4], [A7]+
000004F6 48E7 3100 movem.l -[A7], D2,D3,D7
000004FA 4EBA 000C jsr [PC + 0xC /* 00000508 */]
000004FE 2001 move.l D0, D1
00000500 4CDF 008C movem.l D7,D3,D2, [A7]+
00000504 221F move.l D1, [A7]+
00000506 4E75 rts
fn00000508:
00000508 4A80 tst.l D0
0000050A 6A1C bpl +0x1E /* 00000528 */
0000050C 4A81 tst.l D1
0000050E 6A0C bpl +0xE /* 0000051C */
00000510 4480 neg.l D0
00000512 4481 neg.l D1
00000514 4EBA 0020 jsr [PC + 0x20 /* 00000536 */]
00000518 4481 neg.l D1
0000051A 4E75 rts
label0000051C:
0000051C 4480 neg.l D0
0000051E 4EBA 0016 jsr [PC + 0x16 /* 00000536 */]
00000522 4480 neg.l D0
00000524 4481 neg.l D1
00000526 4E75 rts
label00000528:
00000528 4A81 tst.l D1
0000052A 6A0A bpl +0xC /* 00000536 */
0000052C 4481 neg.l D1
0000052E 4EBA 0006 jsr [PC + 0x6 /* 00000536 */]
00000532 4480 neg.l D0
00000534 4E75 rts
fn00000536:
00000536 2E3C 0000 FFFF move.l D7, 0xFFFF
0000053C B280 cmp.l D1, D0
0000053E 6306 bls +0x8 /* 00000546 */
00000540 2200 move.l D1, D0
00000542 7000 moveq.l D0, 0x00
00000544 4E75 rts
label00000546:
00000546 B087 cmp.l D0, D7
00000548 620C bhi +0xE /* 00000556 */
0000054A 80C1 divu.w D0, D1
0000054C 4840 swap.w D0
0000054E 3200 move.w D1, D0
00000550 4240 clr.w D0
00000552 4840 swap.w D0
00000554 4E75 rts
label00000556:
00000556 B287 cmp.l D1, D7
00000558 621A bhi +0x1C /* 00000574 */
0000055A 2E00 move.l D7, D0
0000055C 4240 clr.w D0
0000055E 4840 swap.w D0
00000560 80C1 divu.w D0, D1
00000562 4840 swap.w D0
00000564 4847 swap.w D7
00000566 3E00 move.w D7, D0
00000568 4847 swap.w D7
0000056A 8EC1 divu.w D7, D1
0000056C 3007 move.w D0, D7
0000056E 4847 swap.w D7
00000570 3207 move.w D1, D7
00000572 4E75 rts
label00000574:
00000574 2400 move.l D2, D0
00000576 2601 move.l D3, D1
label00000578:
00000578 E288 lsr D0, 1
0000057A E289 lsr D1, 1
0000057C B287 cmp.l D1, D7
0000057E 62F8 bhi -0x6 /* 00000578 */
00000580 80C1 divu.w D0, D1
00000582 C087 and.l D0, D7
label00000584:
00000584 3203 move.w D1, D3
00000586 C2C0 mulu.w D1, D0
00000588 2E03 move.l D7, D3
0000058A 4847 swap.w D7
0000058C CEC0 mulu.w D7, D0
0000058E 4847 swap.w D7
00000590 D287 add.l D1, D7
00000592 6508 bcs +0xA /* 0000059C */
00000594 9282 sub.l D1, D2
00000596 6204 bhi +0x6 /* 0000059C */
00000598 4481 neg.l D1
0000059A 4E75 rts
label0000059C:
0000059C 5340 subq.w D0, 1
0000059E 60E4 bra -0x1A /* 00000584 */
fn000005A0:
000005A0 7E00 moveq.l D7, 0x00
fn000005A2:
000005A2 51F8 0A5E sf [0x00000A5E /* ResLoad */]
000005A6 598F subq.l A7, 4
000005A8 2F06 move.l -[A7], D6
000005AA 3F07 move.w -[A7], D7
000005AC A9A0 trap GetResource
000005AE 201F move.l D0, [A7]+
000005B0 6700 00AE beq +0xB0 /* 00000660 */
000005B4 2640 movea.l A3, D0
000005B6 598F subq.l A7, 4
000005B8 2F0B move.l -[A7], A3
000005BA A9A5 trap SizeRsrc
000005BC 261F move.l D3, [A7]+
000005BE 200B move.l D0, A3
000005C0 2803 move.l D4, D3
000005C2 5247 addq.w D7, 1
000005C4 EF47 asl D7.w, 7
000005C6 5247 addq.w D7, 1
000005C8 3A07 move.w D5, D7
000005CA 6016 bra +0x18 /* 000005E2 */
label000005CC:
000005CC 598F subq.l A7, 4
000005CE 2F06 move.l -[A7], D6
000005D0 3F07 move.w -[A7], D7
000005D2 A9A0 trap GetResource
000005D4 201F move.l D0, [A7]+
000005D6 6700 0088 beq +0x8A /* 00000660 */
000005DA 5247 addq.w D7, 1
000005DC 0684 0000 7FFE addi.l D4, 0x7FFE
label000005E2:
000005E2 558F subq.l A7, 2
000005E4 2F00 move.l -[A7], D0
000005E6 A9A6 trap GetResAttrs
000005E8 301F move.w D0, [A7]+
000005EA 0800 0005 btst.b D0, 0x5
000005EE 66DC bne -0x22 /* 000005CC */
000005F0 50F8 0A5E st [0x00000A5E /* ResLoad */]
000005F4 CF45 exg D7, D5
000005F6 9A47 sub.w D5, D7
000005F8 661C bne +0x1E /* 00000616 */
000005FA 2003 move.l D0, D3
000005FC A040 trap ResrvMem/ReserveMem
000005FE 2F0B move.l -[A7], A3
00000600 A9A2 trap LoadResource
00000602 2013 move.l D0, [A3]
00000604 6700 005A beq +0x5C /* 00000660 */
00000608 2F0B move.l -[A7], A3
0000060A A992 trap DetachResource
0000060C 2853 movea.l A4, [A3]
0000060E 204B movea.l A0, A3
00000610 A029 trap HLock
00000612 7001 moveq.l D0, 0x01
00000614 4E75 rts
label00000616:
00000616 2004 move.l D0, D4
00000618 A11E trap NewPtr, flags=1
0000061A 2008 move.l D0, A0
0000061C 6700 0042 beq +0x44 /* 00000660 */
00000620 2848 movea.l A4, A0
00000622 2F0B move.l -[A7], A3
00000624 A9A2 trap LoadResource
00000626 2013 move.l D0, [A3]
00000628 6700 0036 beq +0x38 /* 00000660 */
0000062C 204B movea.l A0, A3
0000062E 2003 move.l D0, D3
00000630 6018 bra +0x1A /* 0000064A */
label00000632:
00000632 598F subq.l A7, 4
00000634 2F06 move.l -[A7], D6
00000636 3F07 move.w -[A7], D7
00000638 A9A0 trap GetResource
0000063A 201F move.l D0, [A7]+
0000063C 6700 0022 beq +0x24 /* 00000660 */
00000640 5247 addq.w D7, 1
00000642 2040 movea.l A0, D0
00000644 203C 0000 7FFE move.l D0, 0x7FFE
label0000064A:
0000064A 2F08 move.l -[A7], A0
0000064C 2050 movea.l A0, [A0]
0000064E 224C movea.l A1, A4
00000650 D9C0 add.l A4, D0
00000652 A02E trap BlockMove/BlockMoveData
00000654 A9A3 trap ReleaseResource
00000656 51CD FFDA dbf D5, -0x28 /* 00000632 */
0000065A 99C4 sub.l A4, D4
0000065C 264C movea.l A3, A4
0000065E 7001 moveq.l D0, 0x01
label00000660:
00000660 4E75 rts
fn00000662:
00000662 204B movea.l A0, A3
00000664 4A45 tst.w D5
00000666 6604 bne +0x6 /* 0000066C */
00000668 A023 trap DisposHandle/DisposeHandle
0000066A 4E75 rts
label0000066C:
0000066C A01F trap DisposPtr/DisposePtr
0000066E 4E75 rts
fn00000670:
00000670 323C A9F0 move.w D1, 0xA9F0
00000674 43FA FAC6 lea.l A1, [PC - 0x53A /* 0000013C */]
00000678 4EBA 0068 jsr [PC + 0x68 /* 000006E2 */]
0000067C 323C A9F2 move.w D1, 0xA9F2
00000680 43FA FB28 lea.l A1, [PC - 0x4D8 /* 000001AA */]
00000684 4EBA 005C jsr [PC + 0x5C /* 000006E2 */]
00000688 323C A9F3 move.w D1, 0xA9F3
0000068C 43FA FB1C lea.l A1, [PC - 0x4E4 /* 000001AA */]
00000690 4EBA 0050 jsr [PC + 0x50 /* 000006E2 */]
00000694 323C A9F4 move.w D1, 0xA9F4
00000698 43FA FB08 lea.l A1, [PC - 0x4F8 /* 000001A2 */]
0000069C 4EFA 0044 jmp [PC + 0x44 /* 000006E2 */]
fn000006A0:
000006A0 2F08 move.l -[A7], A0
000006A2 206F 0008 movea.l A0, [A7 + 0x8]
000006A6 2F68 0002 0008 move.l [A7 + 0x8], [A0 + 0x2]
000006AC 2078 02A6 movea.l A0, [0x000002A6 /* SysZone */]
000006B0 700C moveq.l D0, 0x0C
000006B2 D090 add.l D0, [A0]
000006B4 B0B8 02AA cmp.l D0, [0x000002AA /* ApplZone */]
000006B8 6624 bne +0x26 /* 000006DE */
000006BA 4EBA 0064 jsr [PC + 0x64 /* 00000720 */]
000006BE 323C A9F0 move.w D1, 0xA9F0
000006C2 4EBA 0044 jsr [PC + 0x44 /* 00000708 */]
000006C6 323C A9F2 move.w D1, 0xA9F2
000006CA 4EBA 003C jsr [PC + 0x3C /* 00000708 */]
000006CE 323C A9F3 move.w D1, 0xA9F3
000006D2 4EBA 0034 jsr [PC + 0x34 /* 00000708 */]
000006D6 323C A9F4 move.w D1, 0xA9F4
000006DA 4EBA 002C jsr [PC + 0x2C /* 00000708 */]
label000006DE:
000006DE 205F movea.l A0, [A7]+
000006E0 4E75 rts
fn000006E2:
000006E2 3001 move.w D0, D1
000006E4 A146 trap GetTrapAddress, flags=1
000006E6 2448 movea.l A2, A0
000006E8 700C moveq.l D0, 0x0C
000006EA 4A78 028E tst.w [0x0000028E /* ROM85 */]
000006EE 6A04 bpl +0x6 /* 000006F4 */
000006F0 A51E trap NewPtrSys, flags=5
000006F2 6002 bra +0x4 /* 000006F6 */
label000006F4:
000006F4 A11E trap NewPtr, flags=1
label000006F6:
000006F6 3001 move.w D0, D1
000006F8 A047 trap SetTrapAddress
000006FA 30FC 4EB9 move.w [A0]+, 0x4EB9
000006FE 20C9 move.l [A0]+, A1
00000700 30FC 4EF9 move.w [A0]+, 0x4EF9
00000704 20CA move.l [A0]+, A2
00000706 4E75 rts
fn00000708:
00000708 3001 move.w D0, D1
0000070A A146 trap GetTrapAddress, flags=1
0000070C 2268 0008 movea.l A1, [A0 + 0x8]
00000710 A01F trap DisposPtr/DisposePtr
00000712 3001 move.w D0, D1
00000714 2049 movea.l A0, A1
00000716 A047 trap SetTrapAddress
00000718 4E75 rts
0000071A 0000 0000 ori.b D0, 0x0
export_9:
0000071E 4E75 rts
fn00000720:
00000720 203A FFF8 move.l D0, [PC - 0x8 /* 0000071A */]
00000724 6704 beq +0x6 /* 0000072A */
00000726 2040 movea.l A0, D0
00000728 4290 clr.l [A0]
label0000072A:
0000072A 4E75 rts